﻿using System;
namespace Anagramme.Views
{
    /// <summary>
    /// Contract pour un manager de workflow
    /// </summary>
    public interface IViewWorkflowManager
    {
        /// <summary>
        /// Evènement soulevé lors de la réception d'un message
        /// </summary>
        event EventHandler<ViewWorkflowEventArgs> MessageReceived;
        
        /// <summary>
        /// Démarre le workflow
        /// </summary>
        void Run();

        /// <summary>
        /// Envoie d'un message au workflow
        /// </summary>
        /// <param name="content">Message à envoyer</param>
        void SendMessage(string content);
    }
}
